package com.yuexunit.finance.member.action.v1;

import java.util.List;

import com.yuexunit.finance.context.FinVersion1;
import com.yuexunit.finance.member.action.v1.model.LogisticsCompanyInfoDetail;
import com.yuexunit.page.PageCriteria;
import com.yuexunit.page.PageList;
import com.yuexunit.web.annotation.Action;
import com.yuexunit.web.annotation.Parameter;
import com.yuexunit.web.annotation.Permission;

/**
 * @author wenwenlong
 */
public interface LogisticsCompanyInfoActionApi {

	@Permission
	@Action(version = FinVersion1.class, description = "新增物流公司(基础数据)")
	@Parameter(name = "logisticsCompanyInfoId", description = "物流公司ID")
	public String createLogisticsCompanyInfo(
			@Parameter(name = "logisticsCompanyName", description = "物流公司名称") String logisticsCompanyName 
	);

	@Permission
	@Action(version = FinVersion1.class, description = "修改物流公司信息(基础数据)")
	public void updateLogisticsCompanyInfo(
			@Parameter(name = "logisticsCompanyInfoId", description = "物流公司ID") Long logisticsCompanyInfoId,
			@Parameter(name = "logisticsCompanyName", description = "物流公司名称") String logisticsCompanyName
	);

	@Permission
	@Action(version = FinVersion1.class, description = "删除物流公司(基础数据)")
	public void disableLogisticsCompanyInfo(
			@Parameter(name = "logisticsCompanyInfoId", description = "物流公司ID") Long logisticsCompanyInfoId
	);

	@Permission
	@Action(version = FinVersion1.class, description = "查询物流公司详情(基础数据)")
	public LogisticsCompanyInfoDetail inquireLogisticsCompanyInfoDetail(
			@Parameter(name = "logisticsCompanyInfoId", description = "物流公司ID") Long logisticsCompanyInfoId
	);

	@Permission
	@Action(version = FinVersion1.class, description = "查询物流公司列表(基础数据)")
	public List<LogisticsCompanyInfoDetail> inquireLogisticsCompanyInfoList();
	
	@Permission
	@Action(version = FinVersion1.class, description = "分页查询物流公司列表(基础数据)")
	public PageList<LogisticsCompanyInfoDetail> inquireLogisticsCompanyInfoPageList(
			@Parameter(name = "page", description = "分页参数") PageCriteria page
	);
}
